void main(){
  // 定义列表(数组) List 变量名=[元素1，元素2，元素3，元素4...];
  // 1.1 需求  按序存储数字输出：1,3,5,7
  // 给列表添加类型，没有添加类型时List <dynamic>    dynamic类似TS中的any
  List <num>nums =[1,3,5,7];
  // 能校验出来类型错误
  // nums.add('1');
  nums.add(9);
  print(nums);

List categories = ['居家','美食','服饰'];
print(categories);
// 1.2 获取列表的长度
print('长度:${categories.length}');
// 查询最后一个
print('最后一个元素:${categories.last}');
print('最后一个元素:${categories[categories.length-1]}');
print('第一个元素:${categories.first}');
// 1.3 列表中可以存储任意类型的数据
List ret =[
  18,
  18.8,
  '美食',
  true,
  [1,2,3],
  {'name':'itcast','age':18},
  null
];
print(ret);
// 2. 使用列表：查改增删
// 2.1查询：
// 查询列表中的长度（列表内部元素的个数）
int len  = categories.length;
print(len);
String category = categories[1];
print(category);
// 修改一个元素
categories[1] = '美食家';
print(categories);
// 添加一个元素
categories.add('旅游');
print(categories);
// 添加多个元素
categories.addAll(['办公','生鲜']);
print(categories);
// 相当于splice 指定位置添加
categories.insert(2,'母婴');
print(categories);
// 删除一个元素
bool res= categories.remove('服装 ');
print(res?'删除成功':'删除失败');
// 删除最后一个元素
categories.removeAt(categories.length-1);
print(categories);
categories.removeRange(0, 3);
print('removeRange(0,3)${categories}');


// 3.遍历列表“读取列表中每一个元素                           
// element：列表中读取出来的每一个元素
// 方法一：
categories.forEach((element){
print(element);
});
// 方法二：
categories.forEach((item)=>print(item));
} 
